home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1991: Code Warrior / bincue / Code Warrior.bin / Tools & Apps (Moof!) / Misc. Utilities / Installer 3.2 / Samples - Installer 3.2 / SummaCDEV.r < prev    next >
Encoding:
Text File  |  1991-05-30  |  7.9 KB  |  249 lines  |  [TEXT/MPS ]

  1. /*------------------------------------------------------------------------------
  2.  *
  3.  *    Apple Macintosh Developer Technical Support
  4.  *
  5.  *  Installer 3.2 sample: demonstrates installing an CDEV into the appropriate folder
  6.  *
  7.  *    File:        SummaCDEV.r -    Rez Source
  8.  *
  9.  *    by:            Rich Kubota
  10.  *
  11.  *    Copyright © 1991 Apple Computer, Inc.
  12.  *    All rights reserved.
  13.  *
  14.  *------------------------------------------------------------------------------
  15.  * This sample installs "TheCDEV" into the appropriate system
  16.  * folder.  It allows for custom installation/removal.  With Installer 3.1 we had
  17.  * to distinguish between 7.0 and pre 7.0 systems because the installer would
  18.  * create the extensions folder if it did not exist.  The Installer now handles this
  19.  * so if we specify the extensions folder but it does not exist, the Installer will
  20.  * use the system folder instead. This greatly simplifies the script.
  21.  *----------------------------------------------------------------------------*/
  22.  
  23. #include "Types.r"                    /* for the ICON resource */
  24. #include "InstallerTypes.r"
  25.  
  26. /* You can build and complete the script with the following lines:
  27. # Note: set up floppies with the appropriate names and contents before running scriptcheck
  28. # or set up folders with the same names and contents as the floppies
  29. # put these folders in the same folder as the script or at the root directory of same disk
  30.  
  31.     rez -o "SummaCDEV" -t 'bjbc' -c 'bjbc' -i "{CIncludes}" "SummaCDEV.r"
  32.     setfile -a i "SummaCDEV"        #mark Inited
  33.     scriptcheck -p "SummaCDEV"
  34. */
  35.  
  36. /* put a 1 in the creation date field of source 'infs' to have ScriptCheck set date */
  37. #define kScriptCheckSetsDate    0x01
  38.  
  39. /* Definitions for the rules */
  40. #define rlAddCdev                1000
  41.  
  42. /* Defines for the file spec atoms.  These are specifications for source and destination files */
  43. #define fsSourceCDEV            2000
  44. #define fsTargetCDEV            2001
  45. #define tgtSystemFile            2002
  46. #define srcRsrcFile                2003
  47.  
  48. /* This is the name of the source disk */
  49. #define CDEVDisk "SummaGraphics Installer:"
  50.  
  51. /* where we want to install our file. */
  52. #define TargetPath    "special-ctrl:"
  53.  
  54. /* Definition for the package. */
  55. #define pkTheCDEV            3000
  56.  
  57. /* Definition for the file atom */
  58. #define faCDEV                4000
  59.  
  60. /* Definition for the resource atom */
  61. #define raADBS                4001
  62. #define raSTR                4002
  63. #define raSUGR                4003
  64.  
  65. /* Definition for the package comment resource */
  66. #define cmtTheCDEV            5000
  67. #define iconTheCDEV            6000
  68.  
  69. /* October 10, 1990 is the current release date I put in 'icmt' rsrcs. ScriptCheck will convert */
  70. /* this value to a LongInt seconds value needed by the Installer. */
  71. #define currentReleaseDate        10101990        
  72. #define currentVersion            100     /* Version 1.0 goes in the 'icmt' rsrc */
  73.  
  74. #define StdResCopy                dontDeleteWhenRemoving,    \
  75.                                 deleteWhenInstalling,    \
  76.                                 copy,                    \
  77.                                 tgtRequired,            \
  78.                                 updateExisting,            \
  79.                                 copyIfNewOrUpdate,        \
  80.                                 dontIgnoreProtection,    \
  81.                                 srcNeedExist,            \
  82.                                 byID,                    \
  83.                                 nameNeedNotMatch
  84.  
  85.  
  86. /************************** Easy Install Rule resources **********************************/
  87. resource 'infr' (1) {
  88.     format0  {{
  89.         pickAll,    {rlAddCdev},     /* Select the rule */
  90.     }};
  91. };
  92.  
  93. /* note the '.' in the first rule is missing in the 2nd rule so we can differentiate*/
  94. resource 'inrl' (rlAddCdev) {
  95.     format0 {{
  96.         addUserDescription {"The Summagraphics ADB Driver Package (v2.6).\n"},    /* message to appear in Easy Install screen */
  97.         addPackages {{pkTheCDEV}}            /* we're installing the CDEV */
  98.     }};
  99. };
  100.  
  101. /***************************** Package Resources ************************************************/
  102. resource 'inpk' (pkTheCDEV) {
  103.     format0 {
  104.         ShowsOnCustom,                     /* Package appears in the Custom Install display */
  105.         Removable,                        /* Package can be removed */
  106.         forceRestart,                    /* so we actually activate the init */
  107.         cmtTheCDEV,                     /* package's 'icmt' resource id */
  108.         0,                                /* Package size (filled in by ScriptCheck) */
  109.         "Install Summagraphics", { /* package name for package that shows on custom */
  110.             'infa', faCDEV;
  111.             'inra', raADBS;
  112.             'inra', raSTR;
  113.             'inra', raSUGR;
  114.         }
  115.     }
  116. };
  117.  
  118. /***************************** Comments ************************************************/
  119. resource 'icmt' (cmtTheCDEV) {
  120.     currentReleaseDate,
  121.     currentVersion,
  122.     iconTheCDEV,
  123.     "This package contains the SummaGraphics Tablet Software. "
  124. };
  125.  
  126. resource 'ICON' (iconTheCDEV) {
  127.         $"0430 4000 0A50 A000 0B91 1002 0822 0803"
  128.         $"1224 0405 2028 0209 4010 0111 800C 00A1"
  129.         $"8003 FFC2 7E00 FF04 0100 7F04 0300 1E08"
  130.         $"04E0 000C 08E0 000A 10E0 0009 08C0 0006"
  131.         $"0487 FE04 0288 0104 0188 0084 0088 0044"
  132.         $"0088 0044 0088 00C4 0110 0188 0228 0310"
  133.         $"01C4 04E0 0002 0800 73BF FBEE 4CA2 8A2A"
  134.         $"40AA AAEA 52AA AA24 5EA2 8AEA 73BE FB8E",
  135. };
  136.  
  137.  
  138.  
  139. /********************************************* File Specs *******************************************/
  140. /* Source File Specs */
  141. resource 'infs' (fsSourceCDEV) {
  142.     'CDEV',                                /* File Type */
  143.     'TABL',                                /* Creator */
  144.     kScriptCheckSetsDate,                /* ScriptCheck fills in the creation date */
  145.     noSearchForFile,                    /* Do not search the source disk for the file */
  146.     TypeCrMustMatch,                    /* file type and creator on source disk must match */
  147.     CDEVDisk"SummaTablet"                /* Path to the file */
  148. };
  149.  
  150. resource 'infs' (SrcRsrcFile)
  151. {
  152.     'rsrc',                                /* File Type */
  153.     'RSED',                                /* Creator */
  154.     kScriptCheckSetsDate,                /* ScriptCheck fills in the creation date */
  155.     noSearchForFile,
  156.     TypeCRMustMatch,
  157.     CDEVDisk"SummaGraphics Resources"
  158. };
  159.  
  160. /* Target File Specs */
  161. resource 'infs' (fsTargetCDEV) {
  162.     'CDEV',                                /* File Type */
  163.     'TABL',                                /* Creator */
  164.     0,                                    /* creation date not needed for target file specs */
  165.     noSearchForFile,                    /* Do not search the target disk for the file */
  166.     TypeCrMustMatch,                    /* not needed for target file specs */
  167.     TargetPath"SummaTablet"                    /* destination Path */
  168. };
  169.  
  170. resource 'infs' (tgtSystemFile) 
  171. {
  172.     'ZSYS',                                /* File Type        */ 
  173.     'MACS',                                /* File Creator        */
  174.     0x00,                                /* Creation Date    */ 
  175.     noSearchForFile,
  176.     TypeCrMustMatch,
  177.     "special-macs:System"                /* path name        */
  178. };
  179.  
  180. /******************************************** File Atoms ************************************************/
  181. resource 'infa' (faCDEV) {
  182.     format0 {
  183.         delRemove,                        /* Delete the file if remove (option-custom) is clicked    */
  184.         delInstall,                     /* Delete the target before copying new one */
  185.         copy,                             /* Copy the file to the destination */
  186.         leaveAloneIfNewer,                 /* do not Install this version, if newer one exists */
  187.         noKeepExisting,                 /* Always replace an existing copy */
  188.         copyIfNewOrUpdate,                /* Copy whether the target file exists or not */
  189.         rsrcFork, dataFork,                /* Copy both forks of the file */
  190.         fsTargetCDEV,                    /* TARGET file spec for this file */
  191.         fsSourceCDEV,                     /* SOURCE file spec for this file */
  192.         0,                                /* atom size (filled in by ScriptCheck) */
  193.         ""                                /* Atom Description (Installer will use file name) */
  194.     };
  195. };
  196.  
  197.  
  198. /****************************************** Resource Atoms **********************************************/
  199.  
  200. resource 'inra' (raADBS) 
  201. {
  202.     format0 
  203.     {
  204.         StdResCopy,
  205.         
  206.         tgtSystemFile,                /* Target File Spec            */ 
  207.         srcRsrcFile,                /* Source File Spec            */
  208.         'ADBS',                        /* Resource Type            */
  209.         4,                            /* Source ID                */
  210.         4,                            /* Target ID                */
  211.         0,                            /* Atom size                */
  212.         "",                            /* Atom Name/Description    */
  213.         "SummaDrvr",                /* Resource Name            */
  214.     };
  215. };
  216.  
  217. resource 'inra' (raSTR) 
  218. {
  219.     format0 
  220.     {
  221.         StdResCopy,
  222.         
  223.         tgtSystemFile,                /* Target File Spec            */ 
  224.         srcRsrcFile,                /* Source File Spec            */
  225.         'STR ',                        /* Resource Type            */
  226.         23456,                        /* Source ID                */
  227.         23456,                        /* Target ID                */
  228.         0,                            /* Atom size                */
  229.         "",                            /* Atom Name/Description    */
  230.         "SummaSettings",            /* Resource Name            */
  231.     };
  232. };
  233.  
  234. resource 'inra' (raSUGR) 
  235. {
  236.     format0 
  237.     {
  238.         StdResCopy,
  239.         tgtSystemFile,                /* Target File Spec            */ 
  240.         srcRsrcFile,                /* Source File Spec            */
  241.         'SUGR',                        /* Resource Type            */
  242.         1,                            /* Source ID                */
  243.         1,                            /* Target ID                */
  244.         0,                            /* Atom size                */
  245.         "",                            /* Atom Name/Description    */
  246.         "Summa Driver",            /* Resource Name            */
  247.     };
  248. };
  249.